-
-
Notifications
You must be signed in to change notification settings - Fork 598
Class polynomial for Drinfeld modules #39215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Documentation preview for this PR (built with commit 67496ed; changes) is ready! 🎉 |
I'm not entirely sure that my algorithm for computing Taelman's unit is correct. I need to think more about this. |
Finally, I prefer to remove things about Taelman's unit here and keep it for another PR. |
So again here, it seems the failing doctest is independent from this PR. Could you please merge from |
Here is a proof that the algorithm used in this PR is correct. Let Consider now In the implementation, we choose a specific value of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for the comment and the explanation of your algorithm on this PR. I think it's very valuable work.
I only have very minor comments (mainly on the Taelman reference you added which appears unused, and on two lines which are reported untested by the testing-coverage tool).
src/sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py
Show resolved
Hide resolved
src/sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The failing test is also unrelated to this ticket. So, again, I approve the PR anyway.
Thanks @xcaruso!
sagemathgh-39215: Class polynomial for Drinfeld modules This PR implements an algorithm for computing the class polynomial (that is, the Fitting ideal of the class module) of a Drinfeld modules over $K = \text{Frac}(A)$. We recall that the class module of a Drinfeld module $E : A \to A\\{\tau\\}$ is defined as the quotient $$H(E) := \frac{E(K_\infty)}{E(A) + \exp_E(K_\infty)}$$ where: - for an $A$-algebra $R$, the notation $E(R)$ refers to $R$ equipped with the structure of $A$-module coming from $E$ - $K_\infty$ is the completion of $\text{Frac}(A)$ at infinity - $\exp_E : K_\infty \to K_\infty$ is the exponential associated to $E$. The implementation provided in this PR is based on the following remark: for $s$ large enough, $H(E)$ is also the quotient of $E(K_\infty/A)$ by the $A$-submodule generated by $T^{-n}$ with $n \geq s$. This is due to the fact that, when $n$ is large, $T^{-n}$ is in the domain of convergence of the logarithm of $E$. ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [x] I have created tests covering the changes. - [x] I have updated the documentation and checked the documentation preview. URL: sagemath#39215 Reported by: Xavier Caruso Reviewer(s): Antoine Leudière, Xavier Caruso
🍸 |
This PR implements an algorithm for computing the class polynomial (that is, the Fitting ideal of the class module) of a Drinfeld modules over$K = \text{Frac}(A)$ .
We recall that the class module of a Drinfeld module$E : A \to A\{\tau\}$ is defined as the quotient
$$H(E) := \frac{E(K_\infty)}{E(A) + \exp_E(K_\infty)}$$
where:
The implementation provided in this PR is based on the following remark: for$s$ large enough, $H(E)$ is also the quotient of $E(K_\infty/A)$ by the $A$ -submodule generated by $T^{-n}$ with $n \geq s$ .$n$ is large, $T^{-n}$ is in the domain of convergence of the logarithm of $E$ .
This is due to the fact that, when
📝 Checklist